Many organizations use data stores for storing business data, such as financial data and operational data. In order to assist business users to examine their data, various data analyzing applications are proposed. Those data analyzing applications provide various views or reports of data to users. Those data analyzing applications typically have query engines that access the data stores to obtain desired data.
Some data analyzing applications have Online Analytical Processing (OLAP) query engines to allow users to analyze multidimensional views of data. This type of OLAP is sometimes called Multidimensional OLAP (MOLAP). A MOLAP engine summarizes business data into multidimensional views in advance, and places the summarized data in a cube structure. When a user request is received, the MOLAP engine accesses the summarized data, and thus the MOLAP engine can provide a response to the query very fast. The user can rotate the cube structured data to see a desired view of the data using the MOLAP engine.
There also exist Relational OLAP (ROLAP) query engines that extract data from traditional relational databases. ROLAP engines are able to create multidimensional views on the fly. In order to extract data, those ROLAP engines typically use complex Structured Query Language (SQL) statements against relational tables in the relational databases. ROLAP engines tend to be used on data that has a large number of attributes, where the data cannot be easily placed into a cube structure. ROLAP engines support multidimensional queries issued against relational databases. Some ROLAP engines translate OLAP queries into SQL queries, and other ROLAP query engines implement the access to relational databases using internal communication between components responsible for OLAP and relational operations.
Both MOLAP and ROLAP approaches to the multidimensional data access, even though they use different data storage technologies, provide only the functionality of the multidimensional query language.
On the other side is the relational query language, SQL, providing powerful set of operations manipulating data in accordance with the relational algebra. While SQL is ideal for processing transactional data, it has a number of significant limitations when it comes to data analysis and reporting.
In view that both multidimensional and relational technologies have different advantages, it is desirable to converge those technologies. However, there has been no mechanism proposed to converging of multidimensional and relational technologies.